dynamic programming

dynamic programming
  1. динамическое программирование

 

динамическое программирование

[Е.С.Алексеев, А.А.Мячев. Англо-русский толковый словарь по системотехнике ЭВМ. Москва 1993]

динамическое программирование
Раздел математического программирования, совокупность приемов, позволяющих находить оптимальные решения, основанные на вычислении последствий каждого решения и выработке оптимальной стратегии для последующих решений. Процессы принятия решений, которые строятся по такому принципу, называются многошаговыми процессами. Математически оптимизационная задача строится в Д. п. с помощью таких соотношений, которые последовательно связаны между собой: например, полученный результат для одного года вводится в уравнение для следующего (или, наоборот, для предыдущего), и т.д. Таким образом, можно получить на вычислительной машине результаты решения задачи для любого избранного момента времени и «следовать» дальше. Д.п. применяется не обязательно для задач, связанных с течением времени. Многошаговым может быть и процесс решения вполне «статической» задачи. Таковы, например, некоторые задачи распределения ресурсов. Общим для задач Д.п. является то, что переменные в модели рассматриваются не вместе, а последовательно, одна за другой. Иными словами, строится такая вычислительная схема, когда вместо одной задачи со многими переменными строится много задач с малым числом (обычно даже одной) переменных в каждой. Это значительно сокращает объем вычислений. Однако такое преимущество достигается лишь при двух условиях: когда критерий оптимальности аддитивен, т.е. общее оптимальное решение является суммой оптимальных решений каждого шага, и когда будущие результаты не зависят от предыстории того состояния системы, при котором принимается решение. Все это вытекает из принципа оптимальности Беллмана (см. Беллмана принцип оптимальности), лежащего в основе теории Д.п. Из него же вытекает основной прием — нахождение правил доминирования, на основе которых на каждом шаге производится сравнение вариантов будущего развития и заблаговременное отсеивание заведомо бесперспективных вариантов. Когда эти правила обращаются в формулы, однозначно определяющие элементы последовательности один за другим, их называют разрешающими правилами. Процесс решения при этом складывается из двух этапов. На первом он ведется «с конца»: для каждого из различных предположений о том, чем кончился предпоследний шаг, находится условное оптимальное управление на последнем шаге, т.е. управление, которое надо применить, если предпоследний шаг закончился определенным образом. Такая процедура проводится до самого начала, а затем — второй раз — выполняется от начала к концу, в результате чего находятся уже не условные, а действительно оптимальные шаговые управления на всех шагах операции (см. пример в статье Дерево решений). Несмотря на выигрыш в сокращении вычислений при использовании подобных методов по сравнению с простым перебором возможных вариантов, их объем остается очень большим. Поэтому размерность практических задач Д.п. всегда незначительна, что ограничивает его применение. Можно выделить два наиболее общих класса задач, к которым в принципе мог бы быть применим этот метод, если бы не «проклятие размерности». (На самом деле на таких задачах, взятых в крайне упрощенном виде, пока удается лишь демонстрировать общие основы метода и анализировать экономико-математические модели). Первый — задачи планирования деятельности экономического объекта (предприятия, отрасли и т.п.) с учетом изменения потребности в производимой продукции во времени. Второй класс задач — оптимальное распределение ресурсов между различными направлениями во времени. Сюда можно отнести, в частности, такую интересную задачу: как распределить урожай зерна каждого года на питание и на семена, чтобы в сумме за ряд лет получить наибольшее количество хлеба?
[http://slovar-lopatnikov.ru/]

Тематики

  • информационные технологии в целом
  • экономика

EN

  • dynamic programming
  • DP


Англо-русский словарь нормативно-технической терминологии. . 2015.

Игры ⚽ Поможем написать реферат

Полезное


Смотреть что такое "dynamic programming" в других словарях:

  • Dynamic programming — For the programming paradigm, see Dynamic programming language. In mathematics and computer science, dynamic programming is a method for solving complex problems by breaking them down into simpler subproblems. It is applicable to problems… …   Wikipedia

  • Dynamic programming — Dynamische Programmierung ist ein Paradigma zum algorithmischen Lösen von Optimierungsproblemen. Der Begriff wurde in den 1940er Jahren von dem amerikanischen Mathematiker Richard Bellman eingeführt, der diese Methode auf dem Gebiet der… …   Deutsch Wikipedia

  • dynamic programming — dinaminis programavimas statusas T sritis automatika atitikmenys: angl. dynamic programming vok. dynamische Programmierung, f rus. динамическое программирование, n pranc. programmation dynamique, f …   Automatikos terminų žodynas

  • Dynamic programming language — This article is about a class of programming languages, for the method for reducing the runtime of algorithms, see Dynamic programming. Dynamic programming language is a term used broadly in computer science to describe a class of high level… …   Wikipedia

  • Dynamic time warping — Not to be confused with the Time Warp mechanism for discrete event simulation, or the Time Warp Operating System that used this mechanism. Dynamic time warping (DTW) is an algorithm for measuring similarity between two sequences which may vary in …   Wikipedia

  • Dynamic lot size model — In inventory theory the Dynamic lot size model is a generalization of the economic order quantity model that takes into account that demand for the product varies over time. The model was introduced by H.M. Wagner and T.H. Whitin in 1958. Problem …   Wikipedia

  • Programming language — lists Alphabetical Categorical Chronological Generational A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that… …   Wikipedia

  • Dynamic compilation — is a process used by some programming language implementations to gain performance during program execution. Although the technique originated in the Self programming language,[citation needed] the best known language that uses this technique is… …   Wikipedia

  • Dynamic loading — is a mechanism by which a computer program can, at run time, load a library (or other binary) into memory, retrieve the addresses of functions and variables contained in the library, execute those functions or access those variables, and unload… …   Wikipedia

  • Dynamic Systems Development Method — (DSDM) is a software development approach originally based upon the Rapid Application Development (RAD) methodology. DSDM is an iterative and incremental approach that emphasizes continuous user involvement. Its goal is to deliver software… …   Wikipedia

  • Dynamic Language Runtime — Developer(s) Microsoft Dynamic Language Runtime Team Stable release 1.0 / April 16, 2010 Operating system Microsoft Windows, Debian, Ubuntu Platform …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»